Lựa chọn khóa Khóa_(mật_mã)

Để tránh khả năng có thể dự đoán được, khóa cần được tạo ra thực sự ngẫu nhiên và chứa đựng đủ lượng entropy. Đây là một vấn đề khó và đã được rất nhiều nghiên cứu đề cập tới (có cả khuyến nghị về vấn đề này: RFC 1750, Khuyến nghị về tính ngẫu nhiên để đảm bảo an toàn). Một số hệ điều hành thậm chí có cả những công cụ để thu thập entropy từ các sự kiện ngẫu nhiên, chẳng hạn như sự di chuyển của đầu đọc ổ cứng... Đối với việc tạo ra những lượng thông tin ngẫu nhiên không lớn, việc tung xúc xắc cũng có khả năng cung cấp số ngẫu nhiên đạt chất lượng yêu cầu.

Khi dùng mật khẩu để tạo khóa, một hệ thống được thiết kế tốt sẽ dùng một thuật toán tạo khóa để chèn thêm thông tin rồi đưa về độ dài cần thiết để tạo thành khóa.